실용주의 프로그래머 [노개북 챌린지] 실용주의 프로그래머 4 어느 누구도, 심지어는 자기 자신도 완벽한 코드를 작성할 수 없음을 알기 때문에 실용주의 프로그래머는 자신의 실수에 대비한 방어책을 설명한다. 선행 조건 : 루틴이 호출되기 위해 참이여야하는 것. 루틴의 선행 조건이 위반되는 경우에는 루틴이 호출되서는 안된다. 루틴에 후행 조건이 있다는 것은 곧 루틴이 종국에는 종료될 것이라는 걸 의한다, 무한 반복은 허용되지 않는다. 클래스 불변식 : 호출... 실용주의 프로그래머실용주의 프로그래머 [노개북 챌린지] 실용주의 프로그래머 5 우리가 어떤 것 하나만을 골라내려고 해도, 그것이 우주의 다른 모든 것과 얽혀 있음을 깨닫게 된다. 전역 데이터 하나하나는 애플리케이션의 모든 메서드에 갑자기 매개 변수가 추가된 것과 같은 효과를 낸다. 전역 데이터는 모든 메서드 안에서 사용할 수 있으니 말이다. 대신 단점은 게시-구독 모델을 아주 많이 사용하는 시스템에서는 현재 어떤 일이 벌어지고 있는지 파악하기 힘들다는 것이다. 자신이 ... 실용주의 프로그래머실용주의 프로그래머 Day5 - 실용주의 프로그래머 3장. 기본적인 도구 일반 텍스트의 힘 사람이 직접 읽고 이해할 수 있는 형태의 인쇄 가능한 텍스트다. 일반 텍스트가 압축된 이진 포멧을 사용하는 것 보다 더 공간을 많이 차지하고 비싼 계산을 한다. 셸의 파워는 강력하다. 하나의 에디터를 잘 사용하라 하나의 키라도 줄여보려고 노력해라 에디터가 사용하는 언어를 배워보라, 에디터에서 사용 가능한 커스텀 매크로를 만들 수 있다. 소스 코드 관리 코드의 변화 과정을 분... 노개북 챌린지실용주의 프로그래머노개북 챌린지 [노개북]실용주의 프로그래머 #6~8 실용주의 편집증 ~ 5장. 계약에 의한 설계 이 주장을 문서화하고 검증하는 것이 계약에 의한 설계(Design By Contract, DBC)의 핵심이다. 입력 도메인 범위가 무엇인지, 경계 조건이 무엇인지, 루틴이 뭘 전달한다고 약속하는지(...)하는 것들을 설계 시기에 나열하는 것만으로도 더 나은 소프트웨어를 작성하는 데에 엄청난 도움이 된다.(p.189) 그러면 한 모듈이 변경되거나 교... 노개북TIL노마드개발자북클럽실용주의 프로그래머TIL
[노개북 챌린지] 실용주의 프로그래머 4 어느 누구도, 심지어는 자기 자신도 완벽한 코드를 작성할 수 없음을 알기 때문에 실용주의 프로그래머는 자신의 실수에 대비한 방어책을 설명한다. 선행 조건 : 루틴이 호출되기 위해 참이여야하는 것. 루틴의 선행 조건이 위반되는 경우에는 루틴이 호출되서는 안된다. 루틴에 후행 조건이 있다는 것은 곧 루틴이 종국에는 종료될 것이라는 걸 의한다, 무한 반복은 허용되지 않는다. 클래스 불변식 : 호출... 실용주의 프로그래머실용주의 프로그래머 [노개북 챌린지] 실용주의 프로그래머 5 우리가 어떤 것 하나만을 골라내려고 해도, 그것이 우주의 다른 모든 것과 얽혀 있음을 깨닫게 된다. 전역 데이터 하나하나는 애플리케이션의 모든 메서드에 갑자기 매개 변수가 추가된 것과 같은 효과를 낸다. 전역 데이터는 모든 메서드 안에서 사용할 수 있으니 말이다. 대신 단점은 게시-구독 모델을 아주 많이 사용하는 시스템에서는 현재 어떤 일이 벌어지고 있는지 파악하기 힘들다는 것이다. 자신이 ... 실용주의 프로그래머실용주의 프로그래머 Day5 - 실용주의 프로그래머 3장. 기본적인 도구 일반 텍스트의 힘 사람이 직접 읽고 이해할 수 있는 형태의 인쇄 가능한 텍스트다. 일반 텍스트가 압축된 이진 포멧을 사용하는 것 보다 더 공간을 많이 차지하고 비싼 계산을 한다. 셸의 파워는 강력하다. 하나의 에디터를 잘 사용하라 하나의 키라도 줄여보려고 노력해라 에디터가 사용하는 언어를 배워보라, 에디터에서 사용 가능한 커스텀 매크로를 만들 수 있다. 소스 코드 관리 코드의 변화 과정을 분... 노개북 챌린지실용주의 프로그래머노개북 챌린지 [노개북]실용주의 프로그래머 #6~8 실용주의 편집증 ~ 5장. 계약에 의한 설계 이 주장을 문서화하고 검증하는 것이 계약에 의한 설계(Design By Contract, DBC)의 핵심이다. 입력 도메인 범위가 무엇인지, 경계 조건이 무엇인지, 루틴이 뭘 전달한다고 약속하는지(...)하는 것들을 설계 시기에 나열하는 것만으로도 더 나은 소프트웨어를 작성하는 데에 엄청난 도움이 된다.(p.189) 그러면 한 모듈이 변경되거나 교... 노개북TIL노마드개발자북클럽실용주의 프로그래머TIL